package com.zxx.pattern.templatePattern.template1;

/**
 * 制作饮料的抽象父类BeverageMaker，将烧水和倒入杯子的方法封装，冲泡和加调料的方法抽出作为接口方法。
 * @author zxx on 2021/4/9
 */
public abstract class BeverageMaker {

    public final void makeBeverage(){
        boilWater();
        brew();
        putInCup();
        addCondiments();
    }


    //烧水
    protected void boilWater() {
        System.out.println("烧水。。。");
    }

    //冲泡
    protected abstract void brew();



    //倒入杯子
    private void putInCup() {
        System.out.println("倒入杯中。。。");
    }

    //加调料
    protected abstract void addCondiments();

}
